package com.linkhub.oms.admin.modules.track.service;

import com.linkhub.oms.admin.modules.order.domain.vo.OrderTabCountVO;
import com.linkhub.oms.admin.modules.track.domain.param.OrderTrackQueryParam;
import com.linkhub.oms.admin.modules.track.domain.request.TrackRequest;
import com.linkhub.oms.admin.modules.track.domain.vo.OrderTrackListVo;
import com.linkhub.oms.common.response.PageDTO;
import com.linkhub.oms.entity.OrderEntity;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author Redball
 * @version 1.0.0
 * @Description OrderTrackService
 * @createTime 2024/10/25 上午12:32
 */
public interface OrderTrackBizService {

    /**
     * 分页查询追踪订单
     * @param orderQueryParam
     * @return
     */
    PageDTO<OrderTrackListVo> pageOrders(OrderTrackQueryParam orderQueryParam);

    /**
     * 查询订单追踪各页签数量
     * @return
     */
    List<OrderTabCountVO> getTabCount();

    /**
     * 保存订单追踪信息
     * @param trackRequest
     * @param orderEntity
     */
    void saveOrderTrackInfo(TrackRequest trackRequest, OrderEntity orderEntity);

    void trackExportExcel( List<String> sysShopIds, HttpServletResponse response );
}
